‘Haptic’ means transmission of information about physical properties related to a tactile sensation such as inertia, friction, collision, temperature, and roughness.
A haptic technology has been rapidly developed with the use of a force feedback technology after 1990.
A haptic system using the haptic technology provides a motion sensation in which a human operator feels a motion or force from muscles or joints in response to a haptic interaction between a virtual object realized by a virtual environment and the human operator's manipulation.
An example of a haptic system is shown in FIG. 1.
Referring to FIG. 1, a haptic system 10 comprises a haptic device 11, a sample/hold unit 13, a controller 15, and a virtual environment 17.
Here, the haptic device 11 is an operating device which a human operator 20 manipulates personally. The haptic device 11 transfers a stimulus generated from a virtual environment in response to this manipulation to the human operator 20 reversely.
The sample/hold unit 13 is an input/output device, which converts an analog signal as a continuous signal output from the haptic device 11 into a digital signal and provides the digital signal to the controller 15. In addition, the sample/hold unit 13 converts a digital signal as a discrete signal output from the controller 15 into an analog signal and provides the analog signal to the haptic device 11.
A control system comprises the controller 15 and the virtual environment 17.
The control system is generally implemented by a computer and an application program. Here, the application program means a program configured to implement a virtual environment via a computer.
In the haptic system 10, an interaction between the human operator 20 and the virtual environment 17 realized by the controller 15 is performed by the haptic device 11. In other words, a stimulus generated from the virtual environment 17 is reversely transferred to the human operator 20 via the haptic device 11 from the control system in response to the human operator's manipulation.
Thus, the haptic system 10 provides a force and a tactile sensation generated from the virtual environment 17 in a reverse direction to the human operator 20 via the haptic device 11 in response to the human operator's manipulation, so that the human operator 20 can make an interaction with the virtual environment 17 sensationally and impressively via the haptic device 11.
For several reasons, for example, loss of information that occurs in sampling when the sample/hold unit 13 converts information from a continuous system to a discrete system, time delay caused by holding, numerical operations performed by a control system, and so on, undesired generation of energy may occur in the haptic system 10. Such undesired energy generation may cause the haptic device 11 to produce an unstable motion, adversely affecting the human operator 20. Thus, in order to ensure human operator's stability, the energy transferred from the control system to the haptic device 11 should be appropriately adjusted and unnecessary energies, which may cause an unstable behavior, should be removed.
However, since the human operator's motion includes a variety of uncertainties, it is difficult to precisely model the human operator's motion. In addition, since energy is necessarily generated when the sample/hold unit 13 performs sampling and holding and the virtual environment 17 is generally non-linear, it is very difficult to find a method of stabilizing the haptic system 10.
In recent years, a variety of methods of stabilizing the haptic system 10 have been suggested.
Cited reference 1 by J. Robot, Syst., vol. 14, No. 1, pp. 37-47, 1997 discloses virtual coupling derived from a passivity theorem in which the haptic system 10 has passivity. In virtual coupling, impedance generated by a haptic interface is limited to a range of guaranteeing a stable operation independent of impedance which a virtual environment satisfying passivity conditions requires and virtual environment design procedures are separated from problem of stability of the haptic interface.
However, since virtual coupling guarantees stability for a virtual environment satisfying passivity conditions, when unnecessary energy is generated by a numerical operation in the virtual environment and time delay, the range of impedance, which the haptic interface can express, may be reduced or stability itself may be lost.
In addition, since virtual coupling design is based on a damping element (for example, energy consumption element including friction in joints or a counter-electromotive force in an electric actuator) that exists in a haptic interface, very complex dynamic properties of the haptic interface should be identified, so as to search for parameter values of optimized virtual coupling. Furthermore, in a haptic interface having higher order degrees of freedom, the effect of the damping element depends on the position and attitude of ends in a workspace. However, since virtual coupling has fixed parameter values, selection contrary to worst case conditions should be made, so as to guarantee stability in the entire workspace. Thus, excessively careful design should be performed.
U.S. Patent Published Application No. 2002-0062177 to Hannaford and Ryu et al. discloses time domain passivity control method, which is an energy consumption algorithm based on the passivity theorem. Since the method is not based on an energy consumption element that exists in a haptic interface, unlike in virtual coupling, identification of complex dynamic properties of the haptic interface or design prepared for worst case conditions does not require. However, in time domain passivity control, since the entire haptic system is assumed as a discrete system and derived therefrom, the effect of sample-and-hold has not been reflected. Thus, in time domain passivity control, energy generated by the sample/hold unit 13 cannot be compensated for.
More recently, cited reference 2 (Robots and Automation 2003, Taipei, Taiwan, September 2003) presented by Hannaford and Ryu et al. in IEEE international conference discloses continuous time domain passivity for compensating for energy generated by sample-and-hold. The method uses a simple velocity prediction method in an adjusted passivity observer (PO) and passivity controller (PC). However, if the sign of velocity is changed, the adjusted passivity controller (PC) generates energy as in a virtual damper. Thus, in order to apply the method stably, a sampling rate should be sufficiently larger than that of a system mode. In addition, in the method, since the human operator's motion includes a variety of uncertainties, it is very difficult to predict a velocity and it is difficult to compensate for energy properly.
Problems with the above-mentioned conventional methods of stabilizing a haptic system will now be described in more detail.
Passivity is an abstract formulation related to energy dissipation, and a passivity theorem based an input/out aspect is used to solve problem of stability for linear and non-linear systems. A system itself satisfying passivity conditions cannot generate energy, and thus guarantees a stable operation.
In fact, a passive system can be generally found in the field of engineering. A system comprising a capacitor and an inductor is an example of a passive system in the field of electrical engineering, and a system having mass, spring, and dashpots is an example of another passive system in the field of mechanical engineering.
According to the passivity theorem, when one passive system and another strict passive system are connected to each other by feedback, the system is stable. This point gives a large advantage to solve problem of stability for robotics in which several systems are complexly connected, teleoperation, and haptic system.
If it is assumed that the human operator 20 is passive at frequencies of interest in the haptic system 10 shown in FIG. 1 based on the passivity theorem, problem of stability is summarized to passivity of the remaining combination elements and can be expressed as equation 1:
                                                        ∫              0              t                        ⁢                                                            F                  h                                ⁡                                  (                  τ                  )                                            ⁢                                                v                  h                                ⁡                                  (                  τ                  )                                            ⁢                              ⅆ                τ                                              +                      ɛ            0                          ≥                  0          ⁢                                          ⁢          for          ⁢                                          ⁢          t                >                  0          ⁢                                          ⁢          and          ⁢                                          ⁢          for          ⁢                                          ⁢          admissible          ⁢                                          ⁢                                    F              h                        ⁡                          (              t              )                                                          (        1        )            where Fh(τ) and Vh (τ) are the human operator's force and velocity respectively, that are continuous variables, and ε0 is initial energy of the haptic system 10.
When the haptic system 10 satisfies passivity conditions expressed as Expression 1, the haptic system 10 dissipates energy, and the sum of energy flow-in of each of the haptic device 11, the sample/hold unit 13, the controller 13, and the virtual environment 17 cannot be negative at all.
Then, each energy flow-in relationship will be described with reference to FIGS. 2 and 3. The haptic device 11 shown in FIG. 2A is a continuous subsystem, and thus, energy flow-in PH(n) during time t in the range of 0≦t≦nT can be calculated using equation 2.
                                          P            H                    ⁡                      (            n            )                          =                              ∫            0            nT                    ⁢                                    {                                                                                          F                      h                                        ⁡                                          (                      t                      )                                                        ⁢                                                            v                      h                                        ⁡                                          (                      t                      )                                                                      -                                                                            F                      d                      h                                        ⁡                                          (                      t                      )                                                        ⁢                                                            v                      d                                        ⁡                                          (                      t                      )                                                                                  }                        ⁢                          ⅆ              t                                                          (        2        )            
Since the haptic device 11 includes passive elements, the haptic device 11 itself does not generate energy. Substantially, all mechanical haptic devices 11 have energy consumption elements such as back electromotive force in an electric actuator, hysteretic material properties, and friction, and thus satisfy passivity conditions. For example, considering the haptic device having one degree of freedom shown in FIG. 3, energy flow-in of the haptic device 11 shown in equation 2 can be calculated using equation 3.
                                          P            H                    ⁡                      (            n            )                          =                                            ∫              0              nT                        ⁢                                          (                                                                            mv                      d                                        ⁢                                                                  v                        .                                            d                                                        +                                      bv                    d                    2                                                  )                            ⁢                              ⅆ                t                                              ≥                                    ∫              0              nT                        ⁢                                          bv                d                2                            ⁢                              ⅆ                t                                              ≥                      T            ⁢                                          ∑                                  k                  =                  0                                                  n                  -                  1                                            ⁢                              bv                                  d                  ,                                      k                    +                    1                                                  2                                                                        (        3        )            
As shown in equation 3, energy flow-in value of the haptic device 11 has a nonnegative value for a nonnegative damping constant, and a lower bound value is associated with dissipative damping components inside the haptic device 11 finitely.
The dissipative elements in the haptic device 11 give some allowance of the occurrence of energy in other components. In particular, since energy is necessarily generated by the sample/hold unit 13 having substantially phase lag, the dissipative elements in the haptic device 11 are very important, in order to guarantee a stable haptic interaction.
A control system 14 (FIG. 2C) comprising a controller 15 and a virtual environment 17 is a discrete subsystem, and energy flow-in PCV(n) can be calculated using equation 4.
                                          P            CV                    ⁡                      (            n            )                          =                  T          ⁢                                    ∑                              k                =                0                                            n                -                1                                      ⁢                                                            F                  d                                ⁡                                  (                  k                  )                                            ⁢                              v                                  d                  ,                  k                                                                                        (        4        )            
The control system 14 includes some energy generation elements, that is, explicit numerical integration algorithms in simulating virtual environment, phase lags in position or velocity filters, communication delays when the haptic device 11 is connected to the virtual environment 17 via a network, gravity, or a friction compensation algorithm.
An energy consumption algorithm such as the time domain passivity algorithm described previously can dissipate effectively energy generated by the discrete control system 14.
The sample/hold unit 13 (FIG. 2B) is a sampled data system, and energy flow-in Ps(n) can be calculated using equation 5.
                                          P            S                    ⁡                      (            n            )                          =                                            ∫              0              nT                        ⁢                                                            F                  d                  h                                ⁡                                  (                  t                  )                                            ⁢                                                v                  d                                ⁡                                  (                  t                  )                                            ⁢                              ⅆ                t                                              -                      T            ⁢                                          ∑                                  k                  =                  0                                                  n                  -                  1                                            ⁢                                                                    F                    d                                    ⁡                                      (                    k                    )                                                  ⁢                                  v                                      d                    ,                    k                                                                                                          (        5        )            
In addition, in the case of zero order hold (ZOH), energy flow-in of the sample/hold unit 13 can be calculated using equation 6.
                                          P            S                    ⁡                      (            n            )                          =                                                            ∑                                  k                  =                  0                                                  n                  -                  1                                            ⁢                              (                                                      ∫                    kT                                                                  (                                                  k                          +                          1                                                )                                            ⁢                      T                                                        ⁢                                                                                    F                        d                        h                                            ⁡                                              (                        t                        )                                                              ⁢                                                                  v                        d                                            ⁡                                              (                        t                        )                                                              ⁢                                          ⅆ                      t                                                                      )                                      -                          T              ⁢                                                ∑                                      k                    =                    0                                                        n                    -                    1                                                  ⁢                                                                            F                      d                                        ⁡                                          (                      k                      )                                                        ⁢                                      v                                          d                      ,                      k                                                                                                    ⁢                                          ⁢                                          =                                                    ∑                                  k                  =                  0                                                  n                  -                  1                                            ⁢                                                                    F                    d                                    ⁡                                      (                    k                    )                                                  ⁢                                  (                                                            x                                              d                        ,                                                  k                          +                          1                                                                                      -                                          x                                              d                        ,                        k                                                                              )                                                      -                          T              ⁢                                                ∑                                      k                    =                    0                                                        n                    -                    1                                                  ⁢                                                                            F                      d                                        ⁡                                          (                      k                      )                                                        ⁢                                      v                                          d                      ,                      k                                                                                                                              (        6        )            
equation 6 shows that the sample/hold unit 13 may generate energy even though the control system 14, that is, the controller 15 and the virtual environment 17, made be passive.
Energy flow-in PSCV(n) in a combined system of the sample/hold unit 13 and the control system 14 can be calculated using equation 7.
                                          P            SCV                    ⁡                      (            n            )                          =                                                            P                S                            ⁡                              (                n                )                                      +                                          P                CV                            ⁡                              (                n                )                                              =                                    ∑                              k                =                0                                            n                -                1                                      ⁢                                                            F                  d                                ⁡                                  (                  k                  )                                            ⁢                              (                                                      x                                          d                      ,                                              k                        +                        1                                                                              -                                      x                                          d                      ,                      k                                                                      )                                                                        (        7        )            
In order to stabilize the haptic system 10, energy flow-in PHSCV(n) should have a nonnegative value of the entire haptic system 10. Considering this, passivity conditions on a stable haptic interaction shown in equation 1 can be defined by equation 8.
                                                        P              H                        ⁡                          (              n              )                                +                                    ∑                              k                =                0                                            n                -                1                                      ⁢                                                            F                  d                                ⁡                                  (                  k                  )                                            ⁢                              (                                                      x                                          d                      ,                                              k                        +                        1                                                                              -                                      x                                          d                      ,                      k                                                                      )                                                    ≥        0                            (        8        )            
In addition, with respect to the haptic device 11 having a first order degree of freedom, equation 8 can be rewritten as equation 9.
                                          T            ⁢                                          ∑                                  k                  =                  0                                                  n                  -                  1                                            ⁢                              bv                                  d                  ,                                      k                    +                    1                                                  2                                              +                                    ∑                              k                =                0                                            n                -                1                                      ⁢                                                            F                  d                                ⁡                                  (                  k                  )                                            ⁢                              (                                                      x                                          d                      ,                                              k                        +                        1                                                                              -                                      x                                          d                      ,                      k                                                                      )                                                    ≥        0                            (        9        )            
Meanwhile, virtual wall simulation is widely used as a benchmark example revealing many fundamental issues for the stable haptic interaction. In the case of research on the virtual wall simulation for the haptic device having a first order degree of freedom 1-dof, an energy relationship of each subsystem having basic virtual elements such as damping and stiffness can be more easily known.
For simplicity of explanation, it is assumed that a perfect controller 15 (Fd(k)=Fe(k)≡F(k), xd,k=xe,k≡xk), zero order hold (ZOH) for a hold operation and a backward rectangular rule for velocity estimation. Then, let's consider a virtual wall represented in equation 10, so as to derive the relationship between physical damping of the haptic device 11 and a virtual wall parameter.F(k)=Kxk+Bνk  (10)
Energy flow-in calculated using equation 4 of the control system 14 regarding the virtual wall can be calculated using equation 11 and this satisfies the passivity conditions.
                                                                                          P                  CV                                ⁡                                  (                  n                  )                                            =                                                K                  ⁢                                                            ∑                                              k                        =                        0                                                                    n                        -                        1                                                              ⁢                                                                  x                        k                                            ⁡                                              (                                                                              x                            k                                                    -                                                      x                                                          k                              -                              1                                                                                                      )                                                                                            +                                  TB                  ⁢                                                            ∑                                              k                        =                        0                                                                    n                        -                        1                                                              ⁢                                          v                      k                      2                                                                                                                                                                                          ⁢                              =                                                                            1                      2                                        ⁢                    K                    ⁢                                                                  ∑                                                  k                          =                          0                                                                          n                          -                          1                                                                    ⁢                                              (                                                                              x                            k                            2                                                    -                                                      x                                                          k                              -                              1                                                        2                                                                          )                                                                              +                                                            1                      2                                        ⁢                    K                    ⁢                                                                  ∑                                                  k                          =                          0                                                                          n                          -                          1                                                                    ⁢                                                                        (                                                                                    x                              k                                                        -                                                          x                                                              k                                -                                1                                                                                                              )                                                2                                                                              +                                      TB                    ⁢                                                                  ∑                                                  k                          =                          0                                                                          n                          -                          1                                                                    ⁢                                              v                        k                        2                                                                                                                                                                                                                ⁢                              ≥                                                                            1                      2                                        ⁢                                          T                      2                                        ⁢                    K                    ⁢                                                                  ∑                                                  k                          =                          0                                                                          n                          -                          1                                                                    ⁢                                              v                        k                        2                                                                              +                                      TB                    ⁢                                                                  ∑                                                  k                          =                          0                                                                          n                          -                          1                                                                    ⁢                                              v                        k                        2                                                                                                                                                    (        11        )            
equation 11 shows that a virtual spring and a damping element do not generate energy in the control system 14, and shows that a passivity observer provides a positive value for all time by equation 4.
Energy flow-in of the subsystem in which the sample/hold unit 13 and the control system 14 are combined, can be calculated using equation 12.
                                          P            SCV                    ⁡                      (            n            )                          =                                                            P                S                            ⁡                              (                n                )                                      +                                          P                CV                            ⁡                              (                n                )                                              ⁢                                          ⁢                                          =                                                    K                ⁢                                                      ∑                                          k                      =                      0                                                              n                      -                      1                                                        ⁢                                                            x                      k                                        ⁡                                          (                                                                        x                                                      k                            +                            1                                                                          -                                                  x                          k                                                                    )                                                                                  +                              TB                ⁢                                                      ∑                                          k                      =                      0                                                              n                      -                      1                                                        ⁢                                                            v                      k                                        ⁢                                          v                                              k                        +                        1                                                                                                                  ⁢                                                  ⁢                                                  =                                                                                1                    2                                    ⁢                  K                  ⁢                                                            ∑                                              k                        =                        0                                                                    n                        -                        1                                                              ⁢                                          (                                                                        x                                                      k                            +                            1                                                    2                                                -                                                  x                          k                          2                                                                    )                                                                      -                                                      1                    2                                    ⁢                  K                  ⁢                                                            ∑                                              k                        =                        0                                                                    n                        -                        1                                                              ⁢                                                                  (                                                                              x                                                          k                              +                              1                                                                                -                                                      x                            k                                                                          )                                            2                                                                      +                                                                  ⁢                                                                  ⁢                                  TB                  ⁢                                                            ∑                                              k                        =                        0                                                                    n                        -                        1                                                              ⁢                                                                  v                        k                                            ⁢                                              v                                                  k                          +                          1                                                                                                                                ≥                                                                    -                                          1                      2                                                        ⁢                                      T                    2                                    ⁢                  K                  ⁢                                                            ∑                                              k                        =                        0                                                                    n                        -                        1                                                              ⁢                                          v                                              k                        +                        1                                            2                                                                      -                                  TB                  ⁢                                                            ∑                                              k                        =                        0                                                                    n                        -                        1                                                              ⁢                                          v                                              k                        +                        1                                            2                                                                                                                              (        12        )            
However, the subsystem, in which the sample/hold unit 13 and the control system 14 are combined with each other, does not satisfy the passivity conditions due to the sample/hold unit 13 any longer.
In addition, a lower bound of the subsystem in which the sample/hold unit 13 and the control system 14 are combined, means a maximum energy which the virtual spring and the damper can generate, as shown in equation 12.
In the case of the haptic device 11 having a first order degree of freedom, energy flow-in PHSCV(n) of the haptic system 10 can be calculated using equation 13.
                                          P            HSCV                    ⁡                      (            n            )                          =                                                            P                H                            ⁡                              (                n                )                                      +                                          P                SCV                            ⁡                              (                n                )                                              ≥                                          ⁢                                          ⁢                                    T              ⁢                                                ∑                                      k                    =                    0                                                        n                    -                    1                                                  ⁢                                  bv                                      k                    +                    1                                    2                                                      -                                          1                2                            ⁢                              T                2                            ⁢              K              ⁢                                                ∑                                      k                    =                    0                                                        n                    -                    1                                                  ⁢                                  v                                      k                    +                    1                                    2                                                      -                          TB              ⁢                                                ∑                                      k                    =                    0                                                        n                    -                    1                                                  ⁢                                  v                                      k                    +                    1                                    2                                                                                        (        13        )            
In order to create a stable haptic interaction, considering that energy flow-in PHSCV(n) of the haptic system 10 should have a nonnegative value, virtual damping and stiffness can be obtained by:
                    b        ≥                              KT            2                    +          B                                    (        14        )            which explains very well-known stabilization conditions with respect to virtual wall simulation of virtual coupling studied by the above-described cited reference 1. As described previously, from the viewpoint of energy, the above condition means that energy generated by the virtual spring and damping parameter value should be constrained within the consumable energy by the haptic device 11.
An unstable behavior of the haptic system is based on unnecessary energy generated by the sample/hold unit and the virtual environment including a haptic rendering algorithm and a control algorithm constituting the haptic system. For example, explicit numerical integration included in the haptic rendering algorithm, filter included in the control algorithm and gravity compensator are well known as causes for energy generation. In addition, the occurrence of energy caused by phase lag necessarily included in the sample/hold unit is recognized as a structural problem of the haptic system. However, since an existing virtual coupling algorithm cannot compensate for energies generated in the virtual environment, the virtual environment should be designed to satisfy the passivity conditions. In addition, since an existing time domain passivity algorithm cannot compensate for energies generated by sampling and hold, the occurrence of energy caused by phase lag should be minimized by very fast sampling.
As described above, the haptic device 11 does not generate energy but the sample/hold unit 13 and the control system 14 generates energy. In the above-described prior arts, there are design limitations needed in stabilization of the haptic system, and owing to adjustment procedures for stabilization, a realistic degree is lowered.